package q700_searchBST;

import CommonClass.Common.TreeNode;

public class Solution_2 {
    /*
    二叉搜索树的最基本原理
    这里使用迭代法来实现
    相较于普通的层序遍历 这里要用到二叉搜索树的特性
    也就是左边小 右边大 所以我们只需要根据当前值的大小决定走哪边即可
    不需要使用栈或者队列
     */
    public TreeNode searchBST(TreeNode root, int val) {
        while (root != null) {
            if (root.val == val){
                return root;
            }
            if (root.val > val) {
                root = root.left;
            }
            if (root.val < val) {
                root = root.right;
            }
        }
        // 否则就是没有
        return null;
    }
}
